Вводное занятие: как устроена практика и что такое хороший проект
- О чём это занятие
- Знакомство. Как устроен год практики: занятия, отчёты, аттестации, баллы. И главное — разговор о том, зачем вообще делать проект: две истории из геймдева, одна русская и одна британская, и четыре признака программы, которая имеет смысл.
- Аннотация
- Сначала формальная часть: расписание, две аттестации, отчёт по формату ВКР, шкала из 150 баллов и что показывают на защите. Затем две истории. «Мор (Утопия)» студии Ice-Pick Lodge — игра, которую ругали за баги и графику и которая через двадцать лет всё ещё вызывает споры; на её примере обсудим, когда технические ограничения превращаются в художественный приём. Creatures Стива Гранда — игра 1996 года, в которой поведение существ не написано сценаристом, а возникает из симуляции генов, биохимии и нейросети; история о том, как замысел ждал своего часа шесть лет и чуть не погиб. В финале — что делает программу осмысленной, почему «служит людям» — не лозунг, а инженерное требование, и пример дипломного проекта, в котором фотографии из музея превратились в тактильные модели для незрячих посетителей.
- Пререквизиты
- Нет, это первое занятие курса. Дальше: занятие 2 — ИИ-агенты в разработке, занятия 6–7 — UML, занятия 10–11 — UI/UX. Как писать отчёт — в справке «Структура отчёта и ВКР».
- Мотивация
- Через год вы выйдете к комиссии с работающим прототипом и отчётом. Между этой минутой и той — примерно пятьдесят занятий и много решений: что делать, для кого, с кем, на чём. Самое дорогое решение принимается сегодня и в ближайшие две недели — выбор темы. Обе истории этого занятия про то, как проект переживает собственные ограничения: нехватку денег, времени, людей, мощности железа. Проекты, о которых пойдёт речь, выжили не потому, что у их авторов было много ресурсов, а потому, что у них был ответ на вопрос «зачем».
Заговори, чтобы я тебя увидел.
приписывается Сократу1. Как устроена практика
Практика идёт весь учебный год и не делится на «осенний» и «весенний» проекты: тема одна, команда одна, продукт растёт от прототипа осенью до защищённой работы весной. Общая схема — на одной картинке.
1.1. Занятия и семестры
- Осень — около 18 занятий, 54 часа практики. В конце — отчёт по формату ВКР и первая аттестация (зимой, перед комиссией из преподавателей кафедры, не задействованных в курсе).
- Весна — около 36 занятий, 108 часов. В конце — второй отчёт и публичная защита проекта; комиссию возглавляет заведующий кафедрой.
- Одно занятие — 90 минут: первые 30 минут — общий материал (разбор темы, обсуждение, новые инструменты), оставшиеся 60 — работа в командах над проектом, консультации, отработка навыков. Общий материал — это страницы этого раздела сайта; работа над проектом идёт по выбранной траектории.
- Итого за год: ≈54 занятия, 162 часа, два отчёта, две аттестации (четыре оценки) и баллы за посещение с бонусом.
1.2. Из чего складывается оценка
Итоговая оценка — две независимые части: оценка компетенций (индивидуальные вопросы по списку компетенций семестра) плюс оценка проекта (публичная защита перед комиссией). Одно другое не заменяет: сильный проект не спасает от вопроса «что такое API», а хорошо выученные термины — от прототипа, который не запускается.
Основные компетенции осеннего семестра — то, о чём вас спросят зимой:
- методы организации работы над IT-проектом;
- проектирование ПО, описание этапов;
- CASE-средства — UML-диаграммы (занятия 6 и 7);
- средства контроля версий проектов (Git);
- ИИ-инструменты и сервисы (занятие 2, 10, 11);
- вопросы по теме проекта — основные термины и определения. Примеры: что такое API? что такое корутины? что такое тестовая выборка?
Оценка проекта. Для оценки «3» необходимо реализовать не менее 50 % от согласованного функционала и продемонстрировать его. Дополнительные критерии согласовываются заранее и зависят от типа проекта: для игры — дизайн-документ (как его писать), для веб-разработки — ролевая модель, и так далее. Слово «согласованного» здесь главное: объём функционала фиксируется с куратором в начале семестра, и именно с ним сравнивают результат.
1.3. Что показывают на защите
К защите готовятся презентация и документ, в которых отражены:
- тема проекта;
- актуальность темы (область применения);
- цели и задачи проекта;
- конкурентный анализ и преимущества вашего продукта;
- функции прототипа программы, сервиса или иного продукта;
- технологический стек;
- путь развития проекта по истории спринтов с разделением обязанностей — кто и что выполнял;
- UML-диаграммы: диаграмма вариантов использования и диаграммы классов / компонентов;
- иные наработанные материалы: схемы БД, прототип интерфейса, техническая реализация элементов программы.
Документ пишется по формату выпускной квалификационной работы — это сознательное решение: к четвёртому курсу вы дважды пройдёте через структуру «введение — анализ — проектирование — тестирование — заключение», и на дипломе она не будет новостью. Подробно по каждому разделу — в справке «Структура отчёта и ВКР».
1.4. Баллы: как набрать 150
Кроме оценок есть система баллов. Она нужна не для контроля посещаемости ради посещаемости — она конвертируется в облегчение на собеседовании по компетенциям.
| Откуда | Сколько | Как считается |
|---|---|---|
| Посещение | 72 | 2 балла × 36 занятий |
| Работа на занятиях | 36 | до 2 баллов за занятие — за реальную работу над проектом в командной части |
| Задания | 42 | распределены по заданиям общего курса (например, задание с LLM занятия 10) |
| Порог зачёта | 100 | 100–119 — зачёт |
| Бонус | 120 | 120–150 — зачёт + право снять 25 % вопросов из собеседования по компетенциям, какие именно — выбираете сами (но не весь тематический блок) |
Если меньше 100. Разницу до 100 баллов закрываете размеченными изображениями для датасетов кафедры: 1 балл — обычное изображение, 2 балла — много классов или большое изображение. Это честная сделка: нам нужны размеченные данные, вам — баллы, и разметка сама по себе полезный навык для любой траектории.
2. Всякая история начинается с хороших знакомств
Прежде чем говорить о том, каким должен быть проект, познакомимся с двумя, которые точно не были образцовыми: оба вышли сырыми, оба провалились по меркам своих издателей, оба помнят спустя двадцать и тридцать лет. Первая история — московская.
Ice-Pick Lodge — независимая студия из России, основана в 2002 году Николаем Дыбовским. Студия делает необычные, авторские игры, которые больше похожи на искусство, чем на классические развлечения: «Мор (Утопия)» (2005), «Тургор» (2007–2008), «Эврика» (2011), «Тук-тук-тук» (2013), «Мор» 2019 года — переосмысление первой игры, «Помни» (2022). Сама студия формулирует своё кредо одной фразой: игры умеют делать с человеком вещи, недоступные другим художественным формам, и ей интересно открывать особенный язык игры.
2.1. Манифест 2001 года
Студия началась не с игры, а с текста на одну страницу. Дыбовский носил его издателям вместе с дизайн-документом будущего «Мора»; называется он «Глубокая игра», на сайте студии опубликован как «Манифест 2001». Три мысли из него стоит запомнить дословно.
Искусство не вырождается – оно меняется. Оно, как блуждающая душа, переселяется из ветхих тел в молодые, находит новые формы и преображает их согласно своим собственным законам. <…> Сто лет назад этот скачок совершил кинематограф. Теперь настает очередь компьютерной игры.
Глубокая игра обладает способностью вызвать у игрока то, что Аристотель называл словом катарсис – «очищение через переживание».
Мы сознательно отказываемся создавать комфортные условия для игрока. Наш адресат – не потребитель, а соавтор. Прохождение глубокой игры – творческий процесс.
Манифест 2001, ice-pick.comОстальное в манифесте — про намерение делать игры «для своей страны и о своей стране» и про ставку на эксперимент и последовательность в его выполнении. Если собрать манифест и последующие выступления студии в короткий список, получится семь идей:
2.2. «На пороге костяного дома»: игрок как соавтор
В 2005–2007 годах Дыбовский прочитал на Конференции разработчиков игр три доклада: «На пороге костяного дома: игра становится искусством» (2005), «Враг за моей спиной: о роли времени в игровом процессе» (2006) и «Игра с хаосом: о роли случайности в многомерной игре» (2007). Первый — самый известный; расшифровка опубликована, и её стоит прочитать целиком: двадцать минут речи человека, который только что три года делал игру и пытается объяснить, зачем.
Ход мысли там такой. Пропп в «Исторических корнях волшебной сказки» показал, что сказка выросла из обряда инициации: юноша уходит в лес, попадает в «костяной дом» (та самая избушка на курьих ножках), символически умирает там и возвращается в племя охотником или воином. В дом входит мальчик — выходит член племени. Дыбовский переносит этот образ на игру: игра — та же машина метаморфозы, и её ценность не в графике и не в сценарии («игра по „Гамлету“ — да ничего подобного», говорит он), а в том, с чем человек из неё выходит. Отсюда два следствия, которые он формулирует прямо:
Игрок – главный автор произведения искусства, если на то пошло.
Игрок должен созидать. В процессе игры пора отказаться от разрушения <…> Если он скажет – вот, я сделал это, я действительно сотворил, пусть не мир – маленький мирок… Вот тогда игра станет искусством, а игрок станет ее соавтором.
Н. Дыбовский, доклад на КРИ-2005Запомните эту постановку — «результат измеряется тем, что осталось у человека» — к концу занятия мы вернёмся к ней применительно к вашим проектам.
2.3. «Мор (Утопия)»: город на Горхоне
«Мор (Утопия)» — приключение, боевик и ролевая игра одновременно; разработана Ice-Pick Lodge, издана «Букой» 9 июня 2005 года. Трое героев — столичный бакалавр Данковский, наследник степных лекарей гаруспик Бурах и Самозванка Клара, очнувшаяся в разрытой могиле, — оказываются в безымянном городе посреди степи на ядовитой реке Горхон. Следом приходит Песчаная Язва. Каждый день заражаются новые кварталы, умирают важные для сюжета персонажи, а на двенадцатый день из столицы прибывает Полководец с приказом сжечь город, если лекарство не найдено. Игрок выбирает одного из троих (Самозванка открывается после первого прохождения); у каждого свой взгляд на то, как спасти хоть кого-то, и эти взгляды конфликтуют. Хэппи-энда нет ни в одной концовке — это не недоработка, а позиция автора.
Как это делалось. История создания очень похожа на историю любого студенческого проекта — только с бюджетом издателя. Дыбовский, сын театральных критиков, в 90-е играл в Dungeons & Dragons и пытался добавить в настольные сессии театральности; товарищи по столу этого не тянули, и он решил оставить одного игрока-актёра-зрителя, а остальных заменить хорошо прописанными персонажами в компьютерной игре. Программную часть взял на себя студент МФТИ Айрат Закиров: когда в 2001 году «Бука» заинтересовалась описанием игры (оно больше походило на историческую повесть) и попросила демо за полгода, Закиров собрал команду, и первую версию писали в общежитии Физтеха. Демо понравилось, деньги пошли — и проект угодил в производственный ад: три года вместо полутора. Текст в какой-то момент разросся до полумиллиона слов, все написаны Дыбовским.
К релизу пришлось резать: из 500 тысяч слов оставили 120, из семи играбельных героев — трёх, персонажей и здания массово собрали из одинаковых стандартных моделей. Игра всё равно вышла сырой; маршрут Самозванки был непроходим без патча, появившегося только осенью. Продали около 50 тысяч копий; окупились с небольшим плюсом в основном за счёт зарубежных продаж под названием Pathologic — по меркам «Буки», не успех.
Обратите внимание на цифры. Замысел на 500 тысяч слов и семь героев, реализация — 120 тысяч и трое. Полтора года плана — три года факта. Это не история неудачи, это нормальная траектория проекта, у которого амбиция больше ресурса; отличие «Мора» от забытых проектов в том, что урезали объём, а не идею. Когда осенью вы будете согласовывать с куратором функционал, помните: 50 % от согласованного — это оценка «3», и согласовывать надо то, что вы действительно сделаете, а не семь играбельных персонажей.
Почему помнят. Мне кажется, тут три причины. Первая — узнаваемость: Дыбовский прямо говорил, что хотел сделать «игру про Россию»; в Городе нет хрущёвок, но есть Ольгимские, Сабуровы и Стаматины, речь как в дореволюционной прозе, степняки с именами из бурятского языка и общее ощущение неустроенности, которое в середине нулевых считывалось без пояснений. Вторая — литературная родословная: все подозревают «Чуму» Камю, но сам автор называет поздних Стругацких — «Гадких лебедей» с их странными детьми и «За миллиард лет до конца света», где само мироздание сопротивляется эксперименту; отсюда и Многогранник, и дети Города, и принципиальный отказ объяснять всё до конца. Третья — театральность: игроку регулярно напоминают, что он актёр в постановке; театр в городе то морг, то буквально сцена, на которой ставят «Мор». Это почти брехтовский приём, в играх он редок — и именно он заставляет переживать происходящее, а не проходить.
Сообщества ценителей хватило на то, чтобы осенью 2014 года собрать краудфандингом деньги на ремейк — в 2019-м он вышел как «Мор» / Pathologic 2, с единственным маршрутом за Гаруспика. Подробная ретроспектива к двадцатилетию игры — в источниках в конце.
2.4. Вопрос для обсуждения: технические ограничения — благо?
Два примера из «Мора», на которых стоит остановиться отдельно, потому что они прямо касаются ваших проектов. Оба — про то, что делать, когда не хватает ресурсов.
При разработке «Мор (Утопия)» студия столкнулась с нехваткой ресурсов: не было возможности привлекать актёров или заказывать профессиональные иллюстрации. В результате разработчики использовали собственные фотографии для портретов персонажей. Это решение, продиктованное ограничениями, неожиданно стало художественным приёмом. Реальные лица, лишённые глянца и идеализации, создают ощущение тревоги и «чуждости», усиливая атмосферу игры. Фотографии были переработаны и стилизованы, превращаясь не просто в портреты, а в выразительные «маски». Они подчёркивают театральность происходящего и размывают границу между автором и произведением.
Многогранник — ключевая локация и один из центральных символов игры: сооружение, которое нарушает законы физики и становится центром сюжетных и философских конфликтов. Он выглядит как сложная, невозможная архитектура, ломающая привычное восприятие пространства, и воспринимается как нечто чуждое и непостижимое. Однако с технической точки зрения его форма достаточно проста: комбинация базовых геометрических объёмов и плоскостей. В условиях ограниченных ресурсов такая конструкция была относительно лёгкой в реализации. Контраст между визуальной сложностью и технической простотой усиливает эффект: игрок видит нечто «невозможное», хотя оно собрано из элементарных форм. Простые средства позволяют создать сильный художественный образ, где ощущение сложности возникает не из технологии, а из идеи и восприятия.
- Портреты из фотографий и Многогранник из примитивов — это удачное стечение обстоятельств или воспроизводимый приём? Что здесь можно повторить сознательно?
- Вспомните проект (свой, чужой, игру, приложение), который стал лучше от того, что чего-то не хватило. И проект, который от нехватки просто развалился. В чём разница?
- «Мы сознательно отказываемся создавать комфортные условия для игрока» — где граница между художественным решением и плохо сделанной работой? Как её увидит комиссия на защите вашего проекта?
3. Опередить время
Вторая история — британская, и она про программиста, а не про режиссёра. В ней тоже есть провал, отменённый контракт и решение «дать проекту ещё пять месяцев», после которого всё изменилось. Игра называется Creatures, вышла в ноябре 1996 года, и её неофициально называли «тамагочи на стероидах»: под симпатичными ушастыми существами скрывался исследовательский проект по искусственной жизни, который и сегодня выглядит необычно.
3.1. Программист-самоучка и книга про плоский мир
Стив Гранд впервые сел за компьютер в 1977 году, свой первый — Nascom 1 с одним килобайтом памяти — фактически собрал сам, а первую серьёзную программу, учившуюся играть в шашки, уместил в 768 байт машинного кода. В конце 80-х он работал в небольшой компании, издававшей обучающие программы, и там прочитал книгу, которая определила всё дальнейшее: «The Planiverse» математика Александра Дьюдни (1984) — научную фантастику, написанную как инженерный отчёт о двумерной вселенной. Дьюдни не выдумывает, как ведут себя жители плоского мира; он выводит их физику, биологию, архитектуру и даже социологию из исходных констант и снабжает каждый вывод чертежом. Гранд вынес отсюда принцип, который потом повторял всю жизнь: не описывать поведение, а описывать механизмы, из которых оно следует. Разница между «казаться живым» и «быть живым» — это разница между скриптом и симуляцией.
Предложить работодателю образовательную программу по этой книге он попытался сразу — и получил отказ. До того, как идея нашла издателя, пройдёт ещё шесть лет.
3.2. Две игры на одном движке и провал, открывший дверь
К тому времени у Гранда был собственный движок — не игровой в современном смысле, а фреймворк автономных агентов с базой правил «если — то». На нём в 1991 году вышла The Adventures of Robin Hood: 64 локации и около сорока персонажей, у каждого — 32 атрибута вроде голода, оптимизма и симпатий, которые сам Гранд называл «душой». Сюжета в игре не было; он складывался из того, что персонажи непрерывно жили своей жизнью, в том числе за кадром. Это уже был Creatures — только на правилах вместо биологии.
Вторая игра на том же движке, Rome: Pathway to Power, провалилась. Но американский издатель Maxis — та самая студия, где в это время Уилл Райт делал прототип The Sims, — предложил Гранду прислать новое предложение, и он наконец предложил то, что хотел сделать с 1986 года. Провал открыл окно, которого он ждал шесть лет.
3.3. Отмена, пять месяцев и сравнение с VisiCalc
Первые наброски Creatures датированы сентябрём 1992 года — балкон мотеля в штате Вашингтон. Полтора года Гранд был внутри своей компании Millennium одним человеком с большой амбицией; коллеги ждали от проекта «обычной игры» и пытались превратить его в скандинавскую адвенчуру. В марте 1994-го появился первый работающий прототип — с нейросетью, биохимией и зачатками обучения, хотя существа в нём «выглядели как цыплята» и часто застревали. А в апреле Maxis проект отменил. Издателя нет, два года работы одного программиста, команда не понимает, что делает, — в большинстве студий на этом бы всё и закончилось.
Случилось обратное. В июле 1994 года один из основателей Millennium, Майкл Хейуорд, вывел игру из релизного расписания и дал на переработку пять месяцев со списком требований: новый облик существ, больше выражений лица, уникальность каждого существа для каждого игрока, возможность переносить их с компьютера на компьютер, речь. По сути компания решила, что это не очередная игра в каталоге, а исследовательская задача. В ноябре прототип показали Warner Interactive, и те сравнили его не с другой игрой, а с VisiCalc — первой электронной таблицей, изменившей персональные компьютеры. Через шесть дней после показа Millennium создала под проект отдельную компанию Cyberlife; к середине 1995-го Warner подписал контракт с авансом в миллион фунтов.
3.4. Мир, который построили руками
В январе 1995 года Гранд решил не рисовать мир игры, а построить его физически: заказать макет, сфотографировать и оцифровать. Для 1995 года — Doom вышел два года назад, до Quake оставался год, художники массово переходили на цифровую живопись — это звучало как антиквариат. Макеты делала кембриджская мастерская, до того работавшая на музеи; бюджет — около 15 тысяч фунтов, три стеклянные витрины, самая большая сцена — почти два метра в ширину, со встроенными гирляндами для смены дня и ночи. Готовые диорамы снимали цифровой камерой и вручную подгоняли под палитру и разрешение PC того времени. Отсюда узнаваемый «живописный» стиль Creatures — ощущение, что смотришь на сцену сквозь стекло музейной витрины; цифровая графика 1996 года такого не давала.
Сравните с портретами из «Мора»: и там, и здесь визуальный стиль родился из обходного манёвра. Ограничение — нельзя нарисовать так, как хочется, — превратилось в приём, который потом никто не смог повторить, потому что никому не пришло в голову.
И ещё одна дата из хроники: полное описание дизайна у Creatures появилось только в июле 1995 года, на пятом году от первых заметок — «как и у большинства программных проектов, для этого пришлось сначала построить большую часть программы». Запомните это на будущее, мы к этому вернёмся.
3.5. Разработка жизни
Во второй половине 1995-го проект оценил Дэйв Клифф, специалист по искусственной жизни из Университета Сассекса, — и, увидев под «милыми существами» одну из самых сложных сред искусственной жизни своего времени, вошёл в команду консультантом; позже по Creatures выйдут академические публикации. 21 марта 1996 года в 10:50 утра родился первый норн, полученный от двух родителей, а не собранный разработчиками из пресета; его назвали Каин, родителей — Рон и Ева. В апреле в игру добавили болезни — мир стал по-настоящему опасным. К лету работа перестала умещаться в одного Гранда, продюсером финальной фазы стал Тоби Симпсон, и именно он превратил научный проект в коробку, которую можно продать в магазине. Creatures вышла 11 ноября 1996 года; Дуглас Адамс — чья фраза про «маленьких пушистых существ с Альфы Центавра» дала проекту рабочее название — назвал её событием более волнующим, чем открытие жизни на Марсе. Тираж — 500–600 тысяч копий.
3.6. Как устроен норн
Эта часть — самая техническая, и на траекториях «нейросети» и «обучение с подкреплением» вы к ней ещё вернётесь. Здесь — только скелет, чтобы понять масштаб замысла 1996 года.
Норн — это три связанные симуляции. Геном описывает, как устроено конкретное существо: 16 типов генов, половое размножение с кроссинговером и ошибками копирования, которые дают материал для эволюции. Биохимия — его тело: голод, боль, страх, усталость — не флаги в коде, а концентрации веществ, которые растут и падают по уравнениям реакций; болезни, лекарства и яды — просто другие вещества в той же системе. Мозг — нейросеть из 952 нейронов и около 5000 связей, разбитая на девять «лопастей» по образцу настоящей нейроанатомии. Зрение работает не по пикселям, а по категориям: отдельный нейрон на «еду», «игрушку», «лифт». Решение принимается по принципу «победитель получает всё»: в каждый момент действует самая сильная мысль — отсюда резкие переключения в поведении. Связи между «ситуациями» и «действиями» учатся подкреплением (удачное действие укрепляет связь), атрофией (наказание ослабляет) и миграцией (ослабевшая связь отрывается и перецепляется к другому нейрону). Полносвязная сеть потребовала бы около миллиона связей — хранится пять тысяч, но не любых, а отобранных обучением; разреженные представления, выученные на ходу, станут мейнстримом машинного обучения через пятнадцать–двадцать лет. Наконец, инстинкты обрабатываются во сне: спящий норн — это не заставка, а этап обучения, аналог консолидации памяти, о которой нейронаука заговорит десятилетием позже.
Ограничения железа 1996 года Гранд не обходил — они толкали его к биологически правдоподобным решениям. Пять тысяч связей вместо миллиона — потому что больше нельзя, но у настоящих животных мозг тоже разреженный. Обучение во сне — потому что наяву процессор занят, но животные тоже консолидируют память во сне. По сложности мозг норна был ближе к круглому червю (около 300 нейронов), чем к млекопитающему, — и всё же игроки считали норнов живыми, открывали для больных и пострадавших от хозяев норнов «приюты», а тех, кто мучил существ ради забавы, сообщество травило всерьёз. Подробная хроника разработки с десятками первоисточников — в источниках в конце.
3.7. Phantasia: та же идея тридцать лет спустя
Phantasia — современный проект британского исследователя искусственной жизни и робототехника Стива Гранда, прежде известный как Grandroids. Это продолжение той же линии идей, которая началась с Creatures: не имитировать жизнь набором заранее написанных сценариев, а попытаться построить систему, в которой поведение сложного существа возникает из его собственного тела, мозга, биохимии, наследственности и взаимодействия с окружающим миром. Сам Гранд описывал свою цель как создание не «игрового ИИ», а обучаемого интеллекта с зачатками желаний, страхов и намерений. Человек, который сел за PDP-8 в 1977 году, в 2020-х продолжает делать ровно то, о чём прочитал в 1986-м.
3.8. Что из этого следует для вашего проекта
Три вещи, которые я бы вынес из этой истории на первое занятие.
- Описывайте механизмы, а не поведение. Это принцип Дьюдни и Гранда, но он работает далеко за пределами искусственной жизни: хорошая модель данных, из которой экраны «следуют», лучше набора экранов, под которые потом подгоняют данные; правило в игре, из которого рождаются ситуации, лучше сотни скриптованных ситуаций.
- Ограничение — это принуждающая сила, а не оправдание. Пять тысяч связей вместо миллиона дали разреженное обучение; фотографии вместо художника — стиль «Мора». У вас будет мало времени, один ноутбук и, возможно, отсутствие видеокарты. Спросите себя, к какому решению это вас толкает, — прежде чем жаловаться.
- Формальное ТЗ у Creatures появилось на пятом году. У вас пятого года нет — есть семестр. Поэтому описание функционала, границ и критериев готовности пишется в первые недели и согласовывается с куратором; как оно устроено — в справке по отчёту, а как формализовать структуру — на занятиях по UML.
4. Что такое хороший проект?
Обе истории были про игры, но вопрос, к которому они подводят, общий для всех траекторий. Сформулируем его в четыре шага — каждый следующий не отменяет предыдущего, а добавляет условие.
- Программа имеет смысл лишь тогда, когда она решает реальную задачу или проблему.
- …когда есть чёткая цель и измеримый результат.
- …когда учтены входные данные и условия.
- …когда она служит людям.
Первые три пункта — инженерные, и на защите их проверят напрямую: «какую задачу решаете?», «как поймёте, что решили?», «на каких данных и в каких условиях это работает?». Четвёртый звучит как лозунг, и с ним стоит разобраться отдельно — но сначала три голоса людей, которые думали об этом до нас.
Если пользователи не контролируют программу, то программа контролирует пользователей.
Ричард Столлман, проект GNU. «Свободные программы стали ещё важнее», 2013Мы должны относиться к компьютерам как к усовершенствованным телефонам, предназначение которых — соединять людей.
We should treat computers as fancy telephones, whose purpose is to connect people.
Джарон Ланье, автор термина «виртуальная реальность». You Are Not a Gadget, 2010ИИ должен быть спроектирован так, чтобы помогать человечеству. <…> Это не будет противостоянием человека и машины. У нас, людей, есть творчество, эмпатия, эмоции, телесность и интуиция, которые можно соединить с мощью вычислений ИИ.
A.I. must be designed to assist humanity. <…> It's not going to be about human vs. machine. We humans have creativity, empathy, emotion, physicality, and insight that can then be mixed with powerful A.I. computation.
Сатья Наделла, генеральный директор Microsoft. «The Partnership of the Future», Slate, 20164.1. Почему «служит людям» — не лозунг, а требование к проекту
Я хотел бы, чтобы вы прочитали четвёртый пункт не как призыв к благотворительности, а как самое практичное из четырёх условий. Вот почему.
У проекта, за которым стоит конкретный человек с конкретной трудностью, есть то, чего нет у проекта «для портфолио», — источник истины. Когда вы не знаете, нужна ли кнопка, вы спрашиваете не себя и не куратора, а того, кому она нужна. Когда прототип «в целом работает», вы даёте его этому человеку и через десять минут знаете, работает ли он на самом деле. Все остальные требования — измеримость результата, учёт входных данных — выводятся из этого источника, а не придумываются. Проект без адресата вынужден выдумывать себе критерии, и комиссия это чувствует сразу: на вопрос «кому это нужно?» звучит ответ «всем», а «всем» — значит никому.
Второе. Социально значимая задача почти всегда уже кем-то формализована — есть стандарты, есть организации, есть люди, которые двадцать лет живут с этой проблемой и точно знают, что не так с существующими решениями. Для студенческого проекта это бесплатный аналитический отдел: конкурентный анализ (пункт 4 в списке к защите) пишется не по маркетинговым страницам, а по разговору с теми, кто пользуется конкурентами. У задачи «сделать ещё один трекер привычек» такого отдела нет.
Третье — про мотивацию, и это не сентиментальность. Годовой проект переживает минимум один момент, когда всё надоело: ничего не собирается, команда разъехалась, дедлайн через неделю. Проекты, у которых есть человек, ждущий результата, проходят этот момент заметно чаще, чем проекты, у которых есть только оценка. Комиссия тоже люди: они видели сотни защит, и работа, где разработчик может рассказать, как его программой пользовались, запоминается совсем иначе, чем работа, где показывают скриншоты.
И последнее. «Служит людям» не означает «решает большую общественную проблему». Достаточно одного человека, у которого после вашей программы день устроен лучше, чем до неё. Студент, который не опаздывает на пару, потому что расписание показывает изменения; сотрудник музея, который может провести экскурсию для незрячего посетителя; школьник, который научился программировать, играя. Масштаб можно наращивать потом. Направление задаётся сейчас.
4.2. Пример дипломного проекта: тактильные модели для 3D-печати
Пример из Нижегородского музея фотографии. Задача: сделать фотографии из экспозиции доступными для незрячих и слабовидящих посетителей. Решение — программа, которая по фотографии строит карту глубины, превращает её в рельеф (барельеф) и экспортирует модель для 3D-печати; напечатанная тактильная модель сопровождается подписью шрифтом Брайля.
Проверим по четырём пунктам. Реальная задача — да, у музея есть посетители, для которых экспозиция закрыта. Измеримый результат — да: модель напечатана, подпись читается, посетитель узнаёт сюжет на ощупь (это проверяется на живых людях, а не на метрике). Входные данные и условия — фотографии разного качества, ограничения принтера по высоте рельефа и разрешению — учтены в параметрах программы. Служит людям — конкретным, с именами и адресом музея. Обратите внимание, что технически это задача из траектории «нейросети» (оценка глубины по одному изображению — модель Depth Anything в интерфейсе), но её ценность не в модели, а в том, что она стоит в музее.
Опишите свою идею проекта по четырём пунктам. Тренажёр соберёт из ответов «паспорт» проекта и отметит слабые места — формально, по признакам в тексте; окончательное слово за куратором.
Контрольные вопросы
-
Из оценки компетенций (индивидуальные вопросы по списку компетенций семестра) и оценки проекта (публичная защита перед комиссией). Они независимы: сильный прототип не отменяет вопросов по терминам, а знание терминов не заменяет работающий и продемонстрированный функционал.
-
Реализовать не менее 50 % от согласованного с куратором функционала и продемонстрировать его. Дополнительные критерии (дизайн-документ для игры, ролевая модель для веб-сервиса) согласовываются заранее.
-
Посещение — 72 (2 × 36 занятий), работа на занятиях — 36 (до 2 за занятие), задания — 42. Порог зачёта — 100; от 120 — бонус: право снять 25 % вопросов из собеседования по компетенциям по своему выбору, но не целый тематический блок. Меньше 100 — отработка разметкой изображений (1 балл обычное, 2 — многоклассовое или большое).
-
«Наш адресат — не потребитель, а соавтор. Прохождение глубокой игры — творческий процесс». Студия сознательно отказывается создавать комфортные условия для игрока и ставит целью катарсис — «очищение через переживание».
-
Из книги Проппа «Исторические корни волшебной сказки»: сказка произошла из обряда инициации, «костяной дом» (избушка на курьих ножках) — место символической смерти, из которого мальчик выходит воином. Дыбовский переносит это на игру: игра — та же машина метаморфозы, и её ценность в том, с чем игрок из неё выходит; поэтому «игрок — главный автор произведения».
-
Портреты персонажей — переработанные фотографии самих разработчиков (не было денег на актёров и художников) — дали ощущение тревоги и «масок». Многогранник — «невозможная» архитектура, собранная из базовых геометрических объёмов: сложность возникает из идеи, а не из технологии.
-
Поведение не задаётся сценарием, а выводится из законов мира. У норна три связанные симуляции — геном, биохимия, мозг (952 нейрона, 9 лопастей, ~5000 связей); «голод» и «страх» — концентрации химикатов, а не флаги; связи учатся подкреплением, атрофией и миграцией, инстинкты обрабатываются во сне. Наследуется конструкция, а не поведение.
-
Майкл Хейуорд (Millennium) в июле 1994 года вывел игру из релизного расписания и добавил пять месяцев на переработку — проект стал исследовательской задачей, а не «очередной игрой в каталоге». Через четыре месяца демо для Warner Interactive сравнили с VisiCalc, и под проект создали отдельную компанию Cyberlife.
Источники
- Костенков А. 20 лет «Мор (Утопия)»: почему странная и недоработанная игра осталась в истории и стала культовой? // Хабр : [сайт]. — 14.06.2025. — URL: https://habr.com/ru/companies/ruvds/articles/917544/ (дата обращения: 24.08.2026).
- Дворянцев А. Как создавали норнов: тернистый путь программиста из Британии на пути к искусственной жизни // Хабр : [сайт]. — 14.05.2026. — URL: https://habr.com/ru/articles/1034892/ (дата обращения: 24.08.2026).
- Манифест 2001 // Ice-Pick Lodge : [сайт]. — URL: https://ice-pick.com/ru/манифест-2001/ (дата обращения: 24.08.2026).
- О нас // Ice-Pick Lodge : [сайт]. — URL: https://ice-pick.com/ru/about-us-ru (дата обращения: 24.08.2026).
- Дыбовский Н. На пороге костяного дома : доклад на Конференции разработчиков игр, 2005 / расшифровка А. Муждабы // gamestudies.ru : [сайт]. — 07.10.2012. — URL: https://gamestudies.ru/criticism/dybovsky-2005/ (дата обращения: 24.08.2026).
- Пропп В. Я. Исторические корни волшебной сказки. — Ленинград : Изд-во ЛГУ, 1946. — 340 с.
- Dewdney A. K. The Planiverse: Computer Contact with a Two-Dimensional World. — New York : Poseidon Press, 1984. — 267 p.
- Grand S. Creation: Life and How to Make It. — London : Weidenfeld & Nicolson, 2000. — 230 p.
- Lanier J. You Are Not a Gadget: A Manifesto. — New York : Alfred A. Knopf, 2010. — 209 p.
- Nadella S. The Partnership of the Future // Slate : [сайт]. — 28.06.2016. — URL: https://slate.com/technology/2016/06/microsoft-ceo-satya-nadella-humans-and-a-i-can-work-together-to-solve-societys-challenges.html (дата обращения: 24.08.2026).
- Столлман Р. Свободные программы стали ещё важнее // Проект GNU : [сайт]. — URL: https://www.gnu.org/philosophy/free-software-even-more-important.ru.html (дата обращения: 24.08.2026).